package com.fintech.third.service.shzx;

import java.io.File;
import java.io.IOException;
import java.util.Map;


import com.fintech.common.util.ApiResponse;
import com.fintech.third.model.shzx.CreditReport;
import com.fintech.third.model.shzx.ExcelInfo;

import net.sf.json.JSONObject;

public interface ShzxService {

	/**
	 * 登陆vpn
	 */
	public void loginVPN();

	/**
	 * 报文上传
	 * 
	 * @param file
	 */
	public String messageUpload(ExcelInfo excelInfo);
	
	/**
	 * 个人数据删除报文上传
	 * 
	 * @param file
	 */
	public String personDataDeleteUpload(ExcelInfo excelInfo);
	
	/**
	 * 信用报告查询文件处理状态查询接口
	 */
	public String queryBatchCreditFile(String fileName);

	/**
	 * 下载报文上传的反馈文件
	 */
	public void obtainFeedBackFile();

	/**
	 * 信用报告单笔查询
	 * @param map
	 *            param plate 板式类型:1：机构版 3：特殊交易版 param certtype 被查询人证件类型:0 身份证
	 *            2.护照 3.军官证 4 士兵证1 户口簿 5 港澳居民来往内地通行证6 台湾同胞来往内地通行证7 临时身份证8
	 *            外国人居留证9 警官证A 香港身份证B 澳门身份证C 台湾身份证X 其他证件 param certno 被查询人证件号码
	 *            param name 被查询人姓名 param reason 查询原因 01 贷后管理 02 贷款审批 04 担保资格审查
	 *            05 异议查询 06 本人查询 07 司法调查 08 金融监管 return
	 * @param map
	 * @return
	 */
	public ApiResponse<CreditReport> queryCredit(Map<String, String> map);

	/**
	 * 批量查询信用报告
	 * 
	 * @param list
	 * @return
	 */
	public String uploadBatchCreditFile(File file);

	

	/**
	 * 通过url下载文件
	 * 
	 * @param urlStr
	 * @param fileName
	 * @param savePath
	 * @throws IOException
	 */
	public void downLoadFromUrl(String urlStr, String fileName, String savePath);
}
